/**************************************************************************** 
 * Meta，一个轻量级的静态分区Hypervisor 
 *
 * 版权(c) , 2022-
 *
 * 作者:
 *      Tupelo Shen <shenwanjiang2013@163.com>
 *
 * Meta是一个自由软件，你可以在遵循GNU GPLv2协议的条件下，重新修改并发布它。
 *
 ***************************************************************************/

#ifndef __PLATFORM_H__
#define __PLATFORM_H__

#include <meta.h>
#include <arch/platform.h>
#include <plat/platform.h>
#include <mem.h>
#include <cache.h>
#include <ipc.h>

struct platform_desc {
    size_t              cpu_num;

    size_t              region_num;
    struct mem_region*  regions;

    size_t              ipc_num;
    struct ipc*         ipcs;

    size_t              dev_num;
    struct dev_region*  devs;

    struct {
        paddr_t         base;
    } console;

    struct cache        cache;

    struct arch_platform arch;
};

extern struct platform_desc platform;

#endif /* __PLATFORM_H__ */
